package com.ruoyi.library.api.vo.TwinRelationInfo;

import com.ruoyi.library.api.vo.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 孪生体关联信息返回参数
 *
 * @author ZhangYu
 * @date 2024-04-30
 */
@Data
@ApiModel(value = "TwinRelationInfoVO", description = "孪生体关联信息返回参数")
public class TwinRelationInfoVO {

    /**
     * 孪生id
     */
    @NotNull(message = "孪生id不能为空")
    @ApiModelProperty("孪生id")
    private Long twinId;

    /**
     * 孪生体编码
     */
    @ApiModelProperty("孪生体编码")
    private String twinCode;

    /**
     * 设备名称
     */
    @ApiModelProperty("设备名称")
    private String deviceName;

    /**
     * 状态：0、默认停止 1、启用
     */
    @ApiModelProperty("状态：0、默认停止 1、启用")
    private Integer status;

    /**
     * 资产id
     */
    @ApiModelProperty("资产id")
    private Long assetsId;

    /**
     * 资产名称
     */
    @ApiModelProperty("资产名称")
    private String assetsName;

    /**
     * 资产编号
     */
    @ApiModelProperty("资产编号")
    private String assetsCode;

    /**
     * 资产标准名称
     */
    @ApiModelProperty("资产标准名称")
    private String assetsStandardName;

    /**
     * 构件id
     */
    @ApiModelProperty("构件id")
    private String componentId;

    /**
     * 构件名称
     */
    @ApiModelProperty("构件名称")
    private String name;

    /**
     * 构件编码
     */
    @ApiModelProperty("构件编码")
    private String componentCode;

    /**
     * 所属模型专业
     */
    @ApiModelProperty("所属模型专业")
    private String belongModelProfession;

    /**
     * 模型id
     */
    @ApiModelProperty("模型id")
    private Long modelId;

    /**
     * 模型编码
     */
    @ApiModelProperty("模型编码")
    private String modelCode;

    /**
     * 模型名称
     */
    @ApiModelProperty("模型名称")
    private String modelName;

    /**
     * 模型部门
     */
    @ApiModelProperty("模型部门")
    private String modelDept;

    /**
     * 业务id
     */
    @ApiModelProperty("业务id")
    private Long businessId;

    /**
     * 业务编码
     */
    @ApiModelProperty("业务编码")
    private String businessCode;

    /**
     * 业务名称
     */
    @ApiModelProperty("业务名称")
    private String businessName;

    /**
     * 业务部门
     */
    @ApiModelProperty("业务部门")
    private String businessDept;

    /**
     * 空间id
     */
    @ApiModelProperty("空间id")
    private Long spaceId;

    /**
     * 空间编码
     */
    @ApiModelProperty("空间编码")
    private String spaceCode;

    /**
     * 空间名称
     */
    @ApiModelProperty("空间名称")
    private String spaceName;

    /**
     * 空间面积
     */
    @ApiModelProperty("空间面积")
    private String spaceArea;

    /**
     * 资产
     */
    @ApiModelProperty("资产")
    private DigitalTwinAssetsVO digitalTwinAssets;

    /**
     * 构件
     */
    @ApiModelProperty("构件")
    private DigitalTwinComponentVO digitalTwinComponent;

    /**
     * 模型
     */
    @ApiModelProperty("模型")
    private DigitalTwinModelVO digitalTwinModel;

    /**
     * 业务
     */
    @ApiModelProperty("业务")
    private DigitalTwinBusinessVO digitalTwinBusiness;

    /**
     * 空间
     */
    @ApiModelProperty("空间")
    private DigitalTwinSpaceVO digitalTwinSpace;

    /**
     * 关联id
     */
    @ApiModelProperty("关联id")
    private Long relationId;

    /**
     * 关联类型：0、资产，1、构件，2、模型，3、业务，4、空间
     */
    @ApiModelProperty("关联类型：0、资产，1、构件，2、模型，3、业务，4、空间")
    private Integer relationType;

}
